/**
 * Copyright ToFBA Ecommerce Logistics LTD. All Rights Reserved.
 *
 * This software is the confidential and proprietary information of
 * Shenzhen ToFBA Ecommerce Logistics Co., Ltd.
 * No body can copy or modify any part of this source without the permission of
 * Shenzhen ToFBA Ecommerce Logistics Co., Ltd.
 *   _________    ___   ________  ______        _       
 *  |  _   _  | .'   `.|_   __  ||_   _ \      / \      
 *  |_/ | | \_|/  .-.  \ | |_ \_|  | |_) |    / _ \     
 *      | |    | |   | | |  _|     |  __'.   / ___ \    
 *     _| |_   \  `-'  /_| |_     _| |__) |_/ /   \ \_  
 *    |_____|   `.___.'|_____|   |_______/|____| |____|                                              
 */
package com.lmexpress.orm.dhlec;

import java.io.Serializable;

/**
 * DHL 包裹详情
 * 
 * @author Henry(fba02)
 * @version [版本号, 2019年4月1日]
 * @see https://api-qa.dhlecommerce.com/apidoc/appendix-label.html#response-elements
 * @since [产品/模块版本]
 */
@SuppressWarnings("serial")
public class PackageDetails implements Serializable {
    private String billingRef1;// ref 1,    
    private Double codAmount;// 80373.5467,        
    private String currency = "USD";//Y Three-letter ISO Currency code  String  {3}   
    private Double declaredValue;// 72740.1134,    
    private String deliveryConfirmationNo;// n,    
    private String dgCategory;// 11,    
    private String dimensionUom;// CM,  
    private Double dutyCharges;
    private Double freightCharges;
    private Double insuredValue;// 631592587.3595856,    
    private String dutiesPaid;// DAP,    
    private Integer mailType;// Y,2:不规则包裹;3:Machinable Parcel;6:BPM Machinable;7:Parcel Select Mach;8:Parcel Select NonMach;9:Media Mail;20:Marketing Parcel < 6oz;30:Marketing Parcel >= 6oz;
    private Integer orderedProduct;// PPS,Y  Identifies the DHL eCommerce product that is to be applied to the shipment. Refer to the product matrix for a list of all available and valid products. Integer {1, 3}    
    private String packageDesc;// PPS Desc,    
    private String packageId;// 111111, Y Unique reference ID for shipment; also referred to as Customer Confirmation Number. String  {1, 30} Examples include: order numbers, carton numbers, shipment numbers, project numbers, cost center.   
    private String packageRefName;// 55555555555555555 ,   
    private String service;// Shipments orginating and destined to the United States will default to DELCON
    private String serviceEndorsement;// 4,    
    private Double weight;// 67.4202592,Y Total package weight        
    private String weightUom = "g";// g, Y The unit of measure for the weight. String  {2} Supported Units of Measure include: G (Grams), KG (kilograms), OZ (Ounces), LB (Pounds)
    private Double height;// 5260.54965,    
    private Double length;// 36801.10668,    
    private Double width;// 48144.0367
    private Double taxCharges;// 
    
    public String getBillingRef1() {
        return billingRef1;
    }
    
    public void setBillingRef1(String billingRef1) {
        this.billingRef1 = billingRef1;
    }
    
    public Double getCodAmount() {
        return codAmount;
    }
    
    public void setCodAmount(Double codAmount) {
        this.codAmount = codAmount;
    }
    
    public String getCurrency() {
        return currency;
    }
    
    public void setCurrency(String currency) {
        this.currency = currency;
    }
    
    public Double getDeclaredValue() {
        return declaredValue;
    }
    
    public void setDeclaredValue(Double declaredValue) {
        this.declaredValue = declaredValue;
    }
    
    public String getDeliveryConfirmationNo() {
        return deliveryConfirmationNo;
    }
    
    public void setDeliveryConfirmationNo(String deliveryConfirmationNo) {
        this.deliveryConfirmationNo = deliveryConfirmationNo;
    }
    
    public String getDgCategory() {
        return dgCategory;
    }
    
    public void setDgCategory(String dgCategory) {
        this.dgCategory = dgCategory;
    }
    
    public String getDimensionUom() {
        return dimensionUom;
    }
    
    public void setDimensionUom(String dimensionUom) {
        this.dimensionUom = dimensionUom;
    }
    
    public String getDutiesPaid() {
        return dutiesPaid;
    }
    
    public void setDutiesPaid(String dutiesPaid) {
        this.dutiesPaid = dutiesPaid;
    }
    
    public Double getInsuredValue() {
        return insuredValue;
    }
    
    public void setInsuredValue(Double insuredValue) {
        this.insuredValue = insuredValue;
    }

    public Integer getMailType() {
        return mailType;
    }

    public void setMailType(Integer mailType) {
        this.mailType = mailType;
    }

    public Integer getOrderedProduct() {
        return orderedProduct;
    }

    public void setOrderedProduct(Integer orderedProduct) {
        this.orderedProduct = orderedProduct;
    }

    public String getPackageDesc() {
        return packageDesc;
    }
    
    public void setPackageDesc(String packageDesc) {
        this.packageDesc = packageDesc;
    }
    
    public String getPackageId() {
        return packageId;
    }
    
    public void setPackageId(String packageId) {
        this.packageId = packageId;
    }
    
    public String getPackageRefName() {
        return packageRefName;
    }
    
    public void setPackageRefName(String packageRefName) {
        this.packageRefName = packageRefName;
    }
    
    public String getServiceEndorsement() {
        return serviceEndorsement;
    }
    
    public void setServiceEndorsement(String serviceEndorsement) {
        this.serviceEndorsement = serviceEndorsement;
    }
    
    public Double getWeight() {
        return weight;
    }
    
    public void setWeight(Double weight) {
        this.weight = weight;
    }
    
    public String getWeightUom() {
        return weightUom;
    }
    
    public void setWeightUom(String weightUom) {
        this.weightUom = weightUom;
    }
    
    public Double getHeight() {
        return height;
    }
    
    public void setHeight(Double height) {
        this.height = height;
    }
    
    public Double getLength() {
        return length;
    }
    
    public void setLength(Double length) {
        this.length = length;
    }
    
    public Double getWidth() {
        return width;
    }
    
    public void setWidth(Double width) {
        this.width = width;
    }
    
    public Double getDutyCharges() {
        return dutyCharges;
    }

    public void setDutyCharges(Double dutyCharges) {
        this.dutyCharges = dutyCharges;
    }

    public Double getFreightCharges() {
        return freightCharges;
    }

    public void setFreightCharges(Double freightCharges) {
        this.freightCharges = freightCharges;
    }

    public String getService() {
        return service;
    }

    public void setService(String service) {
        this.service = service;
    }

    public Double getTaxCharges() {
        return taxCharges;
    }

    public void setTaxCharges(Double taxCharges) {
        this.taxCharges = taxCharges;
    }

    @Override
    public String toString() {
        return "PackageDetails [billingRef1=" + billingRef1 + ", codAmount=" + codAmount + ", currency=" + currency + ", declaredValue=" + declaredValue + ", deliveryConfirmationNo=" + deliveryConfirmationNo + ", dgCategory=" + dgCategory
            + ", dimensionUom=" + dimensionUom + ", dutyCharges=" + dutyCharges + ", freightCharges=" + freightCharges + ", insuredValue=" + insuredValue + ", dutiesPaid=" + dutiesPaid + ", mailType=" + mailType + ", orderedProduct="
            + orderedProduct + ", packageDesc=" + packageDesc + ", packageId=" + packageId + ", packageRefName=" + packageRefName + ", service=" + service + ", serviceEndorsement=" + serviceEndorsement + ", weight=" + weight
            + ", weightUom=" + weightUom + ", height=" + height + ", length=" + length + ", width=" + width + ", taxCharges=" + taxCharges + "]";
    }
}